Staff Embedded Software Engineer
Description
Enphase Energy is a global energy technology company and leading provider of solar, battery, and electric vehicle charging products. Founded in 2006, Enphase transformed the solar industry with our revolutionary microinverter technology, which turns sunlight into a safe, reliable, resilient, and scalable source of energy to power our lives. Today, the Enphase Energy System helps people make, use, save, and sell their own power. Enphase is also one of the fastest growing and innovative clean energy companies in the world, with approximately 68 million products installed across more than 145 countries.
We are building teams that are designing, developing, and manufacturing next-generation energy technologies and our work environment is fast-paced, fun and full of exciting new projects.
If you are passionate about advancing a more sustainable future, this is the perfect time to join Enphase!
About the role
This position is within our Software Engineering group, where you will work with a small team to develop fully functional prototypes to demonstrate new advanced operation and control for autonomous grid connection, management and regulation. You will be working in a multi-site team and expected to interface across multiple functions.
What you will do
- Design and implement embedded software for Linux based microcontroller systems.
- Ability to debug and troubleshoot issues in complex systems.
- Ability to carry a design task from concept to implementation.
- Ability to document engineering requirements, document solutions, and test new firmware designs.
- Working with cross functional teams to test and troubleshoot issues. Solid understanding of the Software Development Life Cycle including Agile methodology
- Self-motivated individual with the ability to work under minimal supervision
Who you are and what you bring
- BE/BTech/MS/MTech in electrical engineering, computer engineering, or computer science.
- Minimum 8 to 12 years’ experience in embedded software development for systems with Linux OS.
- Exposure to ARM based microcontroller systems desired.
- Experience in hands on design, development and debugging
- Strong understanding of C/C++ programming concepts, and Operating systems concepts.
- Strong understanding of data structures and algorithms.
- Proven experience working in cross functional teams
- Experience in scripting languages like Ruby, Lua, Python etc
- Familiarity with development tools such as GCC, GDB, Eclipse, GNU Make, etc.
- Experience in git, Jira, Confluence and JAMA desired.
- Good written and verbal communication skills.